package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.uqbike.object.pojo.AdoptMachineBound;
import com.tbit.uqbike.object.pojo.dto.CommonDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: chen
 * @Description: 车辆领养
 * @Date: 创建于 9:18 2020/8/14
 */
public interface AdoptMachineBoundDao {
    /**
     * 分页
     */
    List<AdoptMachineBound> queryPage(Map<String, Object> map);

    /**
     * 总数
     */
    Integer queryCount(Map<String, Object> map);

    /**
     * 添加
     *
     * @param adoptMachineBounds
     */
    void insert(@Param("adoptMachineBounds") List<AdoptMachineBound> adoptMachineBounds);

    /**
     * 查询是否存在
     *
     * @param existMachine
     */
    List<AdoptMachineBound> getIsExist(@Param("existMachine") List<Integer> existMachine);

    /**
     * 删除
     */
    void del(AdoptMachineBound adoptMachineBound);

    /**
     * 根据时间查询领养人的收益
     */
    List<CommonDTO> getadoptEarnings(Map<String, Object> map);

    /**
     * 批量删除领养人车辆
     * @param accountUserId 账号id
     * @param machineIdList 车辆id列表
     */
    void batchDel(@Param("accountUserId") Integer accountUserId, @Param("machineIdList") List<Integer> machineIdList);

    /**
     * 查询账号所有领养人车辆
     * @param accountUserId 账号id
     * @return List<Integer>
     */
    List<Integer> selectByMachineId(Integer accountUserId);

}
